home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / tools / lz_doc < prev    next >
Text File  |  1991-08-20  |  26KB  |  705 lines

  1.  
  2.                                       LZ 1.92
  3.                                  20th August, 1991
  4.  
  5.                             Written by Jonathan Forbes
  6.                     Copyright © 1990, 1991, Xenomiga Technology
  7.  
  8.  
  9.    Distribution
  10.  
  11.    This version of LZ is freely distributable for non-commercial use (including
  12. distribution on the Fred Fish disks), provided that a brief note of credit or
  13. a thank-you is included in a readme file somewhere.
  14.  
  15.    If you use this program and like it, a small contribution of $15 (CDN$ or
  16. US$) would be appreciated (send to the address below).  Enquiries for
  17. commercial use should also be sent to the address below:
  18.  
  19.    Xenomiga Technology
  20.    1132 Bay Street
  21.    Toronto, Ontario
  22.    M5S 2Z4
  23.  
  24.    If you wish, you can be placed on the mailing list, so that you will be
  25. informed of upcoming products by Xenomiga Technology.
  26.  
  27.  
  28.    Previous Registrations
  29.  
  30.    If you have previously registered LZ, then you do not need to re-register.
  31. If you paid extra for updates to be automatically sent to you when available,
  32. then these updates *will* be sent to you as LZ development continues.
  33.  
  34.    This version of LZ is functionally equivalent to the registered version of
  35. 1.91, so if you registered, paid the extra fee for an update mailing, and
  36. received 1.91, this particular version won't be mailed to you; the next
  37. one will.
  38.  
  39.  
  40.    Disclaimer
  41.  
  42.    I am in no way responsible for anything this program does; you are using it
  43. entirely at your own risk!  If you are using a hacked, edited, or tampered
  44. with version of LZ, you are even more at risk.
  45.  
  46.  
  47.    What is LZ?
  48.  
  49.    LZ is the fastest LZH archiver and extractor available for the Amiga!  It
  50. also produces smaller files than ANY other archiver.  LZ is compatible with
  51. both the original Lharc and the new LHA.
  52.  
  53.    LZ is currently the only utility available for the Amiga which can archive
  54. or extract in new, more efficient, LHA archive format.
  55.  
  56.  
  57.    Acknowledgements
  58.  
  59.    The original Lharc (MS-DOS) was written by Haruyasu Yoshizaki.  I took his
  60. freely distributable source code "lzhuf.c", and rewrote it in assembly
  61. language (very highly optimised assembly language, I might add).  I used
  62. "lharc.c" (which is full of MS-DOS specific code) as a reference, but did not
  63. use it as a base for the Amiga version, which I wrote from scratch.
  64.  
  65.    LZ 1.00 and above use modifications to the original Lharc algorithm for
  66. extra compression and greater speed.  These modifications are *not* present
  67. in either the MS-DOS or Amiga version Lharc.
  68.  
  69.    LZ 1.80 and above also use the LHA algorithm, also by Haruyasu Yoshizaki.
  70.  
  71.  
  72.    Why use LZ?
  73.  
  74.    1. It produces smaller archives than any other Amiga archiver in existence.
  75.  
  76.    2. It extracts files faster than any other popular Amiga archiver,
  77.          including Lharc, LharcA, PkaZip, Arc, Zoo, Pkax, and Ape.
  78.  
  79.    3. It compresses files faster than any other archiver, except Zoo.
  80.  
  81.  
  82.    How fast is LZ?
  83.  
  84.    LZ is currently the fastest .LZH utility for the Amiga.  No other available
  85. Amiga archiver even comes close to LZ's legendary performance for either
  86. compressing or decompressing.  LZ 1.90 can achieve peak compression speeds of
  87. up to three times those of LZ 0.91.
  88.  
  89.    Speedwise, LZ leaves everything else far behind in the dust; LZ outperforms
  90. Lharc 1.3, LharcA .99d, Pkazip 1.01, Lhlib 1.8, and just about every other
  91. Amiga archiving utility in existence.
  92.  
  93.    Every now and then, the programmer of some new disk compressing utility
  94. will make the ridiculous claim that his disk compressor uses some custom
  95. algorithm derived from Lharc that is "superior to anything else out there".
  96. Some will even go so far as to claim speed or compression superiority to LZ.
  97.  
  98.    But the fact is, to date, there is simply NOTHING out there which even
  99. comes close to LZ for degree of compression, and the programs which actually
  100. do come within some large percentage of LZ's compression performance are
  101. never anywhere near as fast as LZ.  LZ simply smokes the competition in every
  102. conceivable way.
  103.  
  104.    In terms of degree of compression, LZ outperforms every other archiver
  105. currently available for the Amiga.
  106.  
  107.    The files being compressed and decompressed in the test, were those on
  108. Fred Fish disk #245.
  109.  
  110.                       * - Different algorithm/encoding scheme
  111.                       X - Lharc 1.0 algorithm
  112.                       # - LHA 2.0 algorithm
  113.  
  114.                  #       X        X       X        X       *
  115.             | (1.90) | (1.81) | (.91) | (1.0) | (.99d) | (1.01)
  116.             |   LZ   |   LZ   |   LZ  | Lharc | LharcA | PkaZip
  117. Fish245.LZH |  8:01  |  5:33  | 11:33 | 26:29 |    ?   |  10:31  compressing
  118.             |   :55  |  1:38  |  1:43 |  5:12 |   2:34 |   2:53  decompressing
  119.  
  120.                  |                        |
  121.                  |                        |
  122.                  V                        V
  123.    Size:      265721                    283435
  124.  
  125.  
  126.               X      X      X      X      *       *      *      *
  127. File         LZ     LZ   Lharc  LharcA  Pkazip   Zoo    Arc    Ape
  128. Name        1.90   0.91   1.3     .99d    1.01   2.01   0.23   1.0
  129. ---------- -----  -----  -----  ------  ------  -----  -----  -----
  130. UserManual    88    244    268     211     164     42    112    614 <- compress
  131.               19     19     35      27      21     12     19    116 <- extract
  132.            64066  66693  66683   66682   61796  78279  80469  66329 <- size
  133.  
  134.  
  135.               #
  136. File         LZ
  137. Name        1.90
  138. ---------- -----
  139. UserManual   196   <- compress
  140.               12   <- extract   {best extraction time}
  141.            60841   <- size      {best compressed size}
  142.  
  143.  
  144.  
  145.    Invokation
  146.  
  147.    Typing "LZ" from the CLI, without any parameters, will reveal a help screen
  148. similar to the following (with copyright and shareware information.)
  149.  
  150.                              Summary of commands:
  151.  
  152.   a    Add file(s) to archive                f   Freshen file(s) in archive
  153.   e,x  Extract file(s) from archive          u   Update file(s) in archive
  154.   l,v  Display archive contents              t   Test archive integrity
  155.   d    Delete file(s) from archive           m   Move file(s) to archive
  156.  
  157.                              Summary of options:
  158.  
  159.   -a  Preserve file attributes              -N  No console output
  160.   -A  Set archive flag                      -p  Pause after loading
  161.   -b  Set input/output buffer               -P  Set task priority
  162.   -c  Confirm files                         -r  Archive subdiectories
  163.   -D  Alternative display                   -u  Upper case filenames
  164.   -f  Ignore filenotes                      -U  Update rate
  165.   -i  Read file list from file              -v  View mode
  166.   -l  Lower case filenames                  -w  Set work directory
  167.   -L  Create list file                      -x  Preserve path names
  168.   -m  Disable message query                 -z  Store files
  169.   -n  No progress indicator                 -Z  Compress archives
  170.   -0  Lharc compression                     -2  LHA compression
  171.  
  172.  
  173.    The usage line below is also displayed:
  174.  
  175.    Usage: LZ [-options] <Command> <Archive> [FilePatterns] [DestPath]
  176.  
  177.    While items in square brackets are optional, items in angle brackets are
  178. mandatory.  LZ will append a .LZH to the <Archive> parameter if the name of
  179. the archive you supply does not already end in .LZH, but ONLY if there isn't
  180. already a dot ( . ) in the name.  This extra clause is for the benefit of
  181. FidoNet users who have their mail archived in the .LZH format.  i.e.:
  182.  
  183.  
  184.    MyFile         becomes    MyFile.LZH
  185.    MyFile.LZH     remains    MyFile.LZH
  186.    01234567.SA0   remains    01234567.SA0
  187.  
  188.  
  189.    A detailed description of each of LZ's commands follows:
  190.  
  191.  
  192.    Commands
  193.  
  194.    a    Add file(s) to archive
  195.  
  196.         The add command will add files to a .LZH archive.  If the specified
  197.         archive does not already exist, then it will automatically be created.
  198.         It is not possible to add a file which is already present in archive;
  199.         if this is attempted, then an error message will be displayed.
  200.  
  201.         By default, only filenames are stored in the archive; if you wish to
  202.         store path names also, then you will have to use the -x option
  203.         (explained later).  If you wish to store entire subdirectories (i.e.
  204.         descend recursively through a directory tree), then you will have to
  205.         use the -r option (explained later).
  206.  
  207.         Multiple files may be added with one command.  In addition, both
  208.         AmigaDOS and ARP wildcards are also supported.
  209.  
  210.         Examples:
  211.  
  212.         1) To add "BLAH" to "myarchive.LZH", you would enter the following
  213.            command:
  214.  
  215.               Lz a myarchive.LZH blah
  216.  
  217.  
  218.         2) To add "THEFILE", "HI", and "KING" to "myarchive.LZH", you would
  219.            enter the following command:
  220.  
  221.               Lz a myarchive.LZH thefile hi king
  222.  
  223.  
  224.         3) To add everything ending in ".INFO" to "myarchive.LZH", you would
  225.            enter:
  226.  
  227.               Lz a myarchive.LZH #?.info
  228.  
  229.  
  230.    e,x  Extract file(s) from archive
  231.  
  232.         The extract command will extract files from an archive.  If you wish
  233.         to extract files from multiple archives, then you will have to use
  234.         a wildcard.  By default, all files in the archive will be extracted.
  235.         If you wish only specific files to be extracted, then the names of
  236.         these files should follow the archive name (wildcards are accepted here.)
  237.  
  238.         If any file following the archive name ends in a '/' or a ':', then
  239.         that directory will be used as the destination directory in which all
  240.         extracted files will be stored.
  241.  
  242.         By default, existing files will not be overwritten; instead, you will
  243.         be presented with the following:
  244.  
  245.         File 'whatever' already exists -overwrite? (Yes/No/All/Quit):
  246.  
  247.         Your response is hotkeyed, so it is not necessary to hit return.  If
  248.         you enter "Y", then the file will be overwritten.  If you enter "N",
  249.         then it will not be extracted.  If "A" is entered, then all files from
  250.         then on will automatically be overwritten without prompting you.  This
  251.         includes files in other archives, if you asked Lz to extract multiple
  252.         archives, using a wildcard.
  253.  
  254.         If you do not wish to be prompted for existing files, then use the -m
  255.         option (explained later.)
  256.  
  257.         Please note that if you wish to extract files from multiple archives
  258.         with one command, it can only be done with wildcards; you cannot enter
  259.         the name of each archive on the command line.  For example:
  260.  
  261.               Lz x arc1.LZH arc2.LZH arc3.LZH
  262.  
  263.         The above command would attempt to extract "arc2.LZH" and "arc3.LZH"
  264.         from "arc1.LZH".  The way to get around this is to type:
  265.  
  266.               Lz x arc#?.LZH
  267.  
  268.         However, there are often times when a single wildcard cannot cover all
  269.         of the files you wish to extract; if this is the case, you will have
  270.         to invoke Lz more than once.
  271.  
  272.         Examples:
  273.  
  274.         1) To extract all files from "myarchive.LZH", you would enter the
  275.            following command:
  276.  
  277.               Lz x myarchive.LZH
  278.  
  279.  
  280.         2) To extract "BLAH" from "myarchive.LZH", you would enter the
  281.            following command:
  282.  
  283.               Lz x myarchive.LZH blah
  284.  
  285.  
  286.         3) To extract all ".INFO" files from all archives, you would enter the
  287.            following command:
  288.  
  289.               Lz x #?.LZH #?.info
  290.  
  291.  
  292.         4) To extract "BLAH", "WHATEVER", and all ".INFO" files from
  293.            myarchive.LZH to the destination directory "HDISK:ArchiveOutput/",
  294.            you would enter any of the following commands (they all perform
  295.            exactly the same function, since the destination directory may be
  296.            placed anywhere after the archive name):
  297.  
  298.               Lz x myarchive.LZH blah whatever #?.info HDISK:ArchiveOutput/
  299.               Lz x myarchive.LZH HDISK:ArchiveOutput/ blah whatever #?.info
  300.               Lz x myarchive.LZH blah whatever HDISK:ArchiveOutput/ #?.info
  301.  
  302.  
  303.    l,v  List files in archive
  304.  
  305.         The list command will display a verbose listing of the files within the
  306.         specified archive(s) (wildcards are allowed).  The listing will be in
  307.         the following format:
  308.  
  309.         Original Packed Ratio  Date      Time   CRC  Name
  310.         -------- ------  --- --------- -------- ---- ------------
  311.             3026    851  71% 11-Jun-90 19:01:48 E7A9 diskspeed.a3000
  312.              841    524  37% 11-Jun-90 19:01:50 1309 si.a3000
  313.              937    586  37% 11-Jun-90 19:01:52 AE7B speed.a3000
  314.         -------- ------  ---
  315.             4804   1961  59%         3 file(s)
  316.  
  317.         Heading    Meaning
  318.  
  319.         Original - The size of the file before compression
  320.         Packed   - The size of the file after compression
  321.         Ratio    - Compression degree; the higher the better
  322.         Date     - The file's creation date
  323.         Time     - The file's creation time
  324.         CRC      - 16-bit Cyclic Redundancy Check
  325.         Name     - File name (including directory path, if present)
  326.  
  327.         Examples:
  328.  
  329.         1) To list all files in "myarchive.LZH", you would enter the following
  330.            command:
  331.  
  332.               Lz v myarchive.LZH
  333.  
  334.  
  335.         2) To list all files in all archives ending in "e", you would enter the
  336.            following command:
  337.  
  338.               Lz v #?e.LZH
  339.  
  340.            Please note that since Lz automatically appends a .LZH to the
  341.            archive name if it does not already end in .LZH (with one exception
  342.            mentioned earlier), the following command is equally valid to the
  343.            one shown above:
  344.  
  345.               Lz v #?e
  346.  
  347.  
  348.    d    Delete file(s) from archive
  349.  
  350.         The delete command will remove files from the archive.  The names of
  351.         the files to be deleted should follow the archive name.  Wildcards are
  352.         allowed.
  353.  
  354.         Please note that items in subdirectories are also checked, so #?.info
  355.         will delete all .info files in the archive, wherever they may be.
  356.  
  357.         Examples:
  358.  
  359.         1) To delete "BADFILE" from myarchive.LZH, you would enter the
  360.            following command:
  361.  
  362.               Lz d myarchive.LZH badfile
  363.  
  364.  
  365.         2) To delete "BADFILE" and all ".INFO" files from myarchive.LZH, you
  366.            would use the following command:
  367.  
  368.               Lz d myarchive.LZH badfile #?.info
  369.  
  370.  
  371.         3) To delete all "README.BBS" files from ALL of your archives, it is
  372.            only necessary to type:
  373.  
  374.               Lz d #?.LZH README.BBS
  375.  
  376.  
  377.    m    Move file(s) to archive
  378.  
  379.         The move command behaves in exactly the same way as the add command,
  380.         except that files are deleted after they are added to the archive.
  381.  
  382.         Examples:
  383.  
  384.         1) To move "MYFILE" to myarchive.LZH, you would enter the following
  385.            command:
  386.  
  387.               Lz m myarchive.LZH myfile
  388.  
  389.         2) To move all files ending in ".INFO" to myarchive.LZH, you would
  390.            enter the following command:
  391.  
  392.               Lz m myarchive.LZH #?.info
  393.  
  394.  
  395.    f    Freshen file(s) in archive
  396.  
  397.         The freshen command will replace a file in the archive only if the
  398.         file is already present in the archive, and the file to be added has
  399.         a later date.
  400.  
  401.  
  402.    u    Update file(s) in archive
  403.  
  404.         The update command behaves in exactly the same way as the add command,
  405.         unless a file to be added is already present in the archive, in which
  406.         case LZ will compare the dates of both files, and will make sure that
  407.         the newer file is added to/retained in the archive.
  408.  
  409.  
  410.    t    Test archive integrity
  411.  
  412.         The test command will test every file in the archive (by extracting
  413.         it internally), and will inform you of any corrupted files (i.e. files
  414.         which fail their CRC.)
  415.  
  416.         Examples:
  417.  
  418.         1) To test all files in myarchive.LZH, you would enter the following
  419.            command:
  420.  
  421.               Lz t myarchive.LZH
  422.  
  423.         2) To test all files in all archives, you would enter the following
  424.            command:
  425.  
  426.               Lz t #?.LZH
  427.  
  428.         3) To test the file named "boing" in the archive "splat.lzh", you would
  429.            enter the following command:
  430.  
  431.               Lz t splat.LZH boing
  432.  
  433.         4) To test all files starting with "ping" in the archive "bleh.lzh",
  434.            you would enter the following comand:
  435.  
  436.               Lz t bleh.lzh ping#?
  437.  
  438.  
  439.  
  440.    Options
  441.  
  442.    -0   Lharc compression
  443.  
  444.         This option is the default, and causes files to be archived with LZ's
  445.         modified Lharc algorithm.
  446.  
  447.  
  448.    -2   LHA compression
  449.  
  450.         This option causes the more efficient LHA compression algorithm to be
  451.         used.  This option will generate smaller files than the above.
  452.  
  453.  
  454.    -a   Preserve file attributes
  455.  
  456.         When this option is used, any files added to the archive will have
  457.         their attributes preserved (the default is for all files to be rwed).
  458.         The eight possible attributes are listed below, but will not be
  459.         explained here (a full explanation should be present in any AmigaDOS
  460.         manual):
  461.  
  462.         r: Read
  463.         w: Write
  464.         e: Execute
  465.         d: Delete
  466.         s: Script
  467.         a: Archive
  468.         p: Protect
  469.         h: Hidden
  470.  
  471.         If this option is not specified, then all files archived or extracted
  472.         will automatically be "rwed."  If this flag is used, then all
  473.         attributes (rwedsaph) will be preserved.  Please note that in order for
  474.         attributes to be preserved, the -a option must be used both when
  475.         archiving and extracting.
  476.  
  477.         When extracting, use -a only on files which have been compressed by
  478.         Amiga .LZH archivers; if you don't, you'll end up with files with
  479.         strange attributes, although no harm will be done.  Similarly, if you
  480.         know that your archive might be extracted on an IBM system, you should
  481.         not use the -a option, since they will have similar problems.
  482.  
  483.  
  484.    -A   This option will set the archive flag of any archive LZ creates or
  485.         adds files to.  It will also unset the executable flag.  Thus, your
  486.         archive will have the following flags set:
  487.  
  488.         ---arw-d
  489.  
  490.  
  491.    -b   Set i/o buffer size
  492.  
  493.         This option will set the i/o buffer size to the number immediately
  494.         following the option, which must be expressed in K.  For example,
  495.         -b32 would give you a 32k i/o buffer.  LZ's i/o buffer size is limited
  496.         only by available memory, so very large buffer sizes (128k+) are
  497.         acceptable.
  498.  
  499.         Note that changing the i/o buffer size on an 68000 Amiga when all work
  500.         is being done in a RAM drive doesn't speed things up; these options are
  501.         mainly for floppy drive users and 68020-68040 users.
  502.  
  503.  
  504.    -c   Confirm file names
  505.  
  506.         This option will cause LZ to prompt you with yes/no/all/quit for every
  507.         file to be added to or extracted from an archive.  This option can be
  508.         useful when used in conjunction with wildcards.
  509.  
  510.  
  511.    -D   Alternate display mode
  512.  
  513.         This options alters the layout of LZ's screen updates.  For example,
  514.         -D1 will use the characters -\|/ to mimic MS-DOS pre 1.10 Pkzip, while
  515.         -D2 will mimc MS-DOS Pkzip 1.10's percentage update.  The -D3 option
  516.         causes the running byte count to be suppressed when decompressing, and
  517.         is the recommended setting for accelerated systems.
  518.  
  519.         -D0 is the default, and activates the standard LZ display.
  520.  
  521.  
  522.    -f   Ignore filenotes
  523.  
  524.         The -f flag will cause LZ to ignore filenotes when archiving or
  525.         extracting files.
  526.  
  527.  
  528.    -i   Read file list from file
  529.  
  530.         This option allows you to specify that LZ read a list of files to be
  531.         archived, from a text file.  Entering -iRAM:FileList will cause LZ
  532.         to read the names of the files stored in RAM:FileList.
  533.  
  534.  
  535.    -l   Lower case filenames
  536.  
  537.         This option forces all file names to lower case.  If used when
  538.         archiving, all files added will have their names converted to lower
  539.         case.  If used when extracting, all files extracted will have their
  540.         names converted to lower case.
  541.  
  542.  
  543.    -L   Create list file
  544.  
  545.         This option causes LZ to create a text file containing a list of all
  546.         files added to an archive.  For example:
  547.  
  548.         LZ -LRAM:ListFile a RAM:Archive.lzh hello/blah1 blah2
  549.  
  550.         will cause LZ to create a file named "ListFile" containing:
  551.  
  552.         hello/blah1
  553.         blah2
  554.  
  555.  
  556.    -m   No message query
  557.  
  558.         Invoking this option will prevent LZ from prompting you for input.  It
  559.         will also cause files to be automatically overwritten if they already
  560.         exist.  This is often useful in conjunction with scripts and BBS's.
  561.  
  562.  
  563.    -n   No progress indicator
  564.  
  565.         This option will prevent LZ from displaying a byte count as it extracts
  566.         or archives files.  This can be useful if you are redirecting the
  567.         output of LZ to a file.
  568.  
  569.  
  570.    -N   No console output (or "absolutely no progress indicator")
  571.  
  572.         If this option is invoked, LZ will not display any text to the screen.
  573.         This option automatically turns on the -m option, so that if LZ ever
  574.         does require input from you, it won't just sit there.
  575.  
  576.         This option is useful in conjunction with BBS software.  Note the
  577.         differences between this option and the -n option.  Also note that this
  578.         option is incompatible with Amiga Lharc, to which -N and -n are one and
  579.         the same.
  580.  
  581.  
  582.    -p   Pause after loading
  583.  
  584.         This option will cause LZ to prompt you for a keypress after it has
  585.         loaded.  This can be useful if you have only one floppy drive, and LZ
  586.         is on another disk.
  587.  
  588.  
  589.    -P   Set task priority
  590.  
  591.         The -P option enables you to set the task priority of LZ.  The task
  592.         priority must immediately follow the -P; for example, -P1, or -P-1.
  593.         This can be useful if wish to set LZ to a negative priority and leave
  594.         it running in the background while you are calling BBS's.
  595.  
  596.  
  597.    -r   Archive subdirectories
  598.  
  599.         This option will cause LZ to recursively collect files from
  600.         subdirectories, and is usually used in conjunction with the -x option.
  601.         For example, to add all files on drive df0: (including subdirectories)
  602.         to mydisk.LZH, you would use:
  603.  
  604.         LZ -x -r a mydisk.LZH DF0:#?
  605.  
  606.  
  607.    -u   Upper case filenames
  608.  
  609.         This option forces all file names to upper case.  If used when
  610.         archiving, all files added will have their names converted to upper
  611.         case.  If used when extracting, all files extracted will have their
  612.         names converted to upper case.  This option is provided for
  613.         compatibility with MS-DOS Lharc.
  614.  
  615.  
  616.    -U   Update rate
  617.  
  618.         This option sets the rate (in bytes) at which LZ updates its byte
  619.         count (or alternate display, if set with -D).  It currently defaults
  620.         to 1024 bytes.  The following example sets the update rate to 4096
  621.         bytes:
  622.  
  623.         -U4096
  624.  
  625.  
  626.    -v   View mode
  627.  
  628.         This option affects the formatting of the output of the view (v)
  629.         command.  -v0 is the default, and causes compression information
  630.         (-lh0-, -lh1-, or -lh5-) to be displayed, while -v1 suppresses
  631.         compression information.
  632.  
  633.  
  634.    -w   Set work directory
  635.  
  636.         When creating archives, individual files are compressed in the work
  637.         directory, which defaults to T: if it exists, or the current directory
  638.         otherwise.  The -w option allows the location of the work directory to
  639.         be changed; the name of the new work directory should immediately
  640.         follow the -w.
  641.  
  642.  
  643.    -x   Preserve path names
  644.  
  645.         This option forces LZ to preserve the full path names of any files
  646.         added, and is most commonly used in conjunction with the -r option.
  647.  
  648.         When extracting files, this defaults to "on", and the -x0 switch must
  649.         be used to turn it off, if you do not wish files to be extractnet to
  650.         their full path names.
  651.  
  652.  
  653.    -z   Zero compression
  654.  
  655.         This option is only valid when adding files, and, if invoked, will
  656.         cause all files added to be merely stored in the archive, not
  657.         compressed.  This is not a very useful option, but has been included
  658.         for the sake of completeness.
  659.  
  660.  
  661.    -Z   Compress archives
  662.  
  663.         By default, LZ will NOT attempt to compress files ending in .lzh, .lhw,
  664.         .zip, .zoo, .arc, .pak, .wrp, .zap, .dms, or .arj, since these files
  665.         are already compressed.  If the -Z option is used, then files with
  666.         these extensions WILL be compressed.
  667.  
  668.  
  669.    Conclusion
  670.  
  671.    Like Amiga Lharc, LZ uses the decimal address of its task structure for
  672. creating temporary filenames, so that multiple copies can run simultaneously
  673. without conflict (and no, LZ is not reentrant; I *like* global variables).
  674.  
  675.    If you find yourself using certain options with LZ most of the time, you
  676. might want to make them an alias.  For example, if you find yourself typing
  677. "Lhunarc" all the time:
  678.  
  679.    alias lhunarc LZ -b32 []
  680.  
  681.    The above two command works only with shells which support aliases.  Your
  682. shell might have a different way of doing it; I use AmigaDOS 1.3 and Arp 1.3.
  683.  
  684.  
  685.    Acknowledgements
  686.  
  687.    Haruyasu Yoshizaki - For lharc.c and lzhuf.c (the algorithm)
  688.  
  689.    Steve Tibbett      - For showing me how to speed up Lhunarc 0.96 by 3%
  690.                         For RawDoFmt(), and __tinymain
  691.                         For finding the bug in the view command
  692.                         For Raw() and Cooked()
  693.                         For suggesting a user configurable buffer
  694.  
  695.    Rob Collinsworth   - For finding the bugs in the algorithm implementation
  696.                         when it was in Lhwarp
  697.  
  698.    Chris Larcombe     - For finding the zero length file bug in version 0.81
  699.  
  700.    Robert Jung        - For all the information on file compression.
  701.  
  702.    Timothy C. Bell    - For explaining everything from semiadaptive dictionary
  703.    John G. Cleary       techniques and statistical encoding to digital hash
  704.    Ian H. Witten        tries and finite context models.
  705.